Data integrity is a major concern in Communication Networks in which data sent from an originating source terminal to a destination terminal may flow through a network including several intermediate nodes, over paths including several physical links. Data integrity is secured on links from node to node by means of a frame check sequence (FCS). This checking sequence is generated at the transmitting site to be data dependent according to a predetermined relationship. The generated transmission FCS (i.e. FCS.sub.t with t standing for transmit) is appended to the transmitted data. Data integrity at the receiving terminal is then checked by deriving from the received data a receive frame check sequence (FCS.sub.r with r standing for receive) and comparing FCS.sub.r to FCS.sub.t to check for identity or processing complete frames using a process similar to the one generating the FCS.sub.t and comparing the result to a predetermined value for identity. Any invalid detection leads to a mere discard of the received data frame and the initiation of a procedure established to generate retransmission of same data frame until validity is checked.
FCS generation is performed through a complex processing operation involving polynomial divisions performed on all the data contained in a frame. These operations are high computing power consumers adding to the transmission system processing load. Any method for simplifying the FCS generation process would be welcome by the transmission industry.
Also, in a number of applications, the transmitted message frame includes information data, and a so-called header made to help the transmitted frame find its way from node to node, within the network, up to the destination terminal. This routing data is modified in each node for instance by inserting in the message to be forwarded the address of subsequent node in the network. All these operations do therefore affect the message frame and thus, the FCS needs to be regenerated in each node. This means that the FCS generation process needs to be implemented several times on each message flowing in the transmission network which emphasizes the above comments on usefulness of simplified FCS generation schemes.
Finally, in some applications, like in communications controllers for instance, the received message is assembled bit by bit, and stored for a while in an intermediate node Communication Controller prior to it being forwarded to next node (e.g. next controller) and so on up to the destination terminal. Conventional Communication Controllers after checking the received frame validity, drop the received FCS.sub.r in the process, and store the information data. Then, when data are to be transmitted further, a new FCS, i.e. FCS.sub.t, is generated to be appended with the data. Should any alteration had affected the data during its storage, it would not be noticed by the destination terminal or node since the new FCS generated would have been computed on the altered data.
One object of this invention is to provide an FCS generation method that minimizes the computing load required to regenerate FCS associated to a given data frame, e.g. regenerate FCS in intermediate Communication nodes, and in addition provide data integrity checking means.
Another object of this invention is to provide a method for checking the integrity of data stored in an intermediate transmission node or Communication Controller in a data transmission network prior to said data being retransmitted.
This and other objects, characteristics and advantages of the present invention will be explained in the following, with reference to the attached drawings.